循序圖展示物件之間如何互動,以及訊息傳遞的時間順序。它是動態行為圖中最常用的類型。
定義:代表參與互動的物件或參與者
表示法:
 物件名稱
    │
    │  ← 垂直虛線(生命線)
    │
    ▼
命名格式:
物件名稱 : 類別名稱
:類別名稱 (匿名物件)物件名稱 (只顯示名稱)定義:表示物件處於活躍狀態(正在執行操作)
表示法:生命線上的細長矩形
物件A
    │
    ├──┐  ← 啟動框
    │  │
    │<-- 內部方法
    └──┤
       │
定義:物件之間的通訊
類型:
| 類型 | 符號 | 說明 | 
|---|---|---|
| 同步訊息 | ───> | 發送者等待回應 | 
| 非同步訊息 | ----> | 發送者不等待回應 | 
| 回傳訊息 | <- - - | 回傳結果 | 
| 自我呼叫 | ⟲ | 物件呼叫自己的方法 | 
| 建立訊息 | ---->+<<create>> | 建立新物件 | 
| 銷毀訊息 | ----> ✕ | 銷毀物件 | 
用於表達條件、迴圈等控制結構。
類型:
alt:選擇(if-else)opt:可選(if)loop:迴圈par:平行執行ref:引用其他循序圖表示法:
┌─ alt ──────────────┐
│ [條件1]            │
│   執行流程1        │
├────────────────────┤
│ [else]             │
│   執行流程2        │
└────────────────────┘
實作一個使用者登入功能:
使用者    LoginUI    AuthService    UserRepository    Database
  │          │           │                │              │
  │─輸入帳密─>│           │                │              │
  │          │           │                │              │
  │          │─驗證請求─>│                │              │
  │          │           │                │              │
  │          │           │─查詢使用者────>│              │
  │          │           │                │              │
  │          │           │                │─SQL查詢────>│
  │          │           │                │              │
  │          │           │                │<─User物件───│
  │          │           │                │              │
  │          │           │<─User物件──────│              │
  │          │           │                │              │
  │          │           │─────┐          │              │
  │          │           │     │驗證密碼  │              │
  │          │           │<────┘          │              │
  │          │           │                │              │
  │          │<─登入成功─│                │              │
  │          │           │                │              │
  │          │─────┐     │                │              │
  │          │     │顯示首頁              │              │
  │          │<────┘     │                │              │
  │          │           │                │              │
  │<─顯示首頁─│           │                │              │
  │          │           │                │              │
✅ 好的做法:
❌ 避免的錯誤:
| 特性 | 使用案例圖 | 循序圖 | 
|---|---|---|
| 視角 | 外部使用者視角 | 內部系統視角 | 
| 關注點 | 做什麼(What) | 怎麼做(How) | 
| 抽象層級 | 高層次、概覽 | 詳細、具體 | 
| 時間順序 | 不強調 | 強調時間先後 | 
| 適用階段 | 需求分析 | 設計階段 | 
| 目標受眾 | 客戶、產品經理 | 開發團隊 |